/**************************
 * \if English
 * @Date:2018.09.10
 * @Author:
 * @Brief:
 * @Detail:
 * @Editor:
 * @Brief:
 * \else
 *
 * @创建日期：2018年9月10日
 * @作者：hualei
 * @大概功能：MODBUS_READ指令
**************************/
#ifndef MODBUSREAD_H
#define MODBUSREAD_H
#include "instructionEnum.h"
#include <QVector>

/**
 * @brief The ModbusReadInstruction class       从数据流中获取或写入指令参数
 */
class ModbusReadInstruction
{
public:
    /**
     * @brief ModbusReadInstruction     构造函数
     */
    ModbusReadInstruction();
    /**
     * @brief operator <<   向数据流中写入指令参数
     * @param out           写入数据流
     * @param myVector      指令
     * @return
     */
    friend QDataStream& operator <<(QDataStream &out,ModbusReadInstruction &myVector);

    /**
     * @brief operator >>       向数据流中读取指令参数
     * @param in                读取数据流
     * @param myVector          指令
     * @return
     */
    friend QDataStream& operator >>(QDataStream &in, ModbusReadInstruction &myVector);

public:
    INSTRUCTION_TYPE instructionType;           // 指令类型

    E_MODBUS_SPEC_TYPE modbusType;              // 总线类型

    quint32 modbusReadDataRegisterIndex;        // 读取寄存器数据索引 R[]

    quint32 modbuReadRegAddress;                //　读取的寄存器地址

    QString busId;                                  // 总线ID,远程服务器的ip和port

    QString jmpLable;                           // 跳转标签　JMP LB[]

    QString noteStr;                            //　注释

};

#endif // MODBUSREAD_H
